Method for controlling force application with servo motor and appartus therewith

ABSTRACT

An applied force Td is estimated by an observer. A gain A is multiplied by a value obtained by subtracting the estimated applied force Td from commanded force Fe. From this multiplied value, a product of a speed feedback amount and a gain Kv is subtracted to obtain a torque command. With this torque command Tc, a servo motor is driven. Since a feedback control of the applied force is performed, response is fast, and an applied force between welding tips and an object to be welded can be accurately controlled. Feedback control of an applied force, whose vibration is prevented, can be performed by adjusting the gains A and Kv.

TECHNICAL FIELD

The present invention relates to a method for controlling an appliedforce, which is applied by a movable object (for example, a pair ofwelding tips of a welding gun for a spot welding) whose driving iscontrolled by a servo motor, to another object, and an apparatustherewith.

BACKGROUND ART

Generally, an applied force that is applied by a movable object whosedriving is controlled by a servo motor to another object is controlledso that torque more than preset torque may not be generated from theservo motor, by applying a torque limit to an output of a speed controlloop, that is, a torque command value.

For example, in the case of a welding gun for spot welding that isdriven by a servo motor, work is pinched with welding tips of anelectrode section of the welding gun, is pressed as a predeterminedpressure generated by the output torque of the servo motor, and iswelded by applying electricity between the welding tips.

In this welding gun, a move command is given to the servo motor drivingthe welding gun, the command which makes the servo motor advance furtherin a pressing direction over pressing points. Then, even if theelectrode tips come in contact with work and are stopped, a movinglength by the move command remains. Therefore, the servo motor attemptsto make the electrode tips advance, and hence, the torque command valueoutputted from the speed loop increases to attempt in an make theelectrode tips advance further. Then, by applying a torque limitation tothis torque command value, the work is pressed with this constant outputbeing torque limited.

The above method has a problem in that the vibration of the appliedforce arises because an end of the welding gun becomes a spring. Anotherproblem is that cycle time is delayed because it takes time for thepressure to become a preset applied force since it takes time for thetorque command value for the servo motor to reach the torque limitationvalue. Furthermore, if the welding tips of the electrode section of thewelding gun, that are driven by the servo motor move an, accelerationtorque for this movement is lost from the output torque limited, andhence the applied force is lacking.

DISCLOSURE OF THE INVENTION

An object of the present invention is to provide a method forcontrolling force application with a servo motor for not only preventingthe applied force from vibrating but also preventing the applied forcefrom delaying, and for preventing the applied force from lacking, and anapparatus therewith.

In order to achieve the above object, a method for controlling forceapplication with a servo motor, in which an applied force of a movableobject driven by a servo motor to another object is controlled,according to the present invention includes a step of forming a forcecontrol loop with an applied force commanded to the servo motor and theapplied force estimated by an observer; and a step of performingfeedback control of the applied force.

In addition, preferably, the method further includes a step of detectingthe speed of the movable object to perform the feedback control ofspeed, too.

In addition, an apparatus for controlling force application with a servomotor, according to the present invention, controls an applied force ofa movable object, driven by the servo motor, to another object, andincludes an observer estimating the applied force; and force controlloop execution means for performing the force feedback control with anapplied force commanded to the servo motor and the applied forceestimated by the observer.

In addition, preferably, the apparatus further includes speed detectionmeans detecting the speed of the movable object; and speed feedbackcontrol means performing the speed feedback control.

Since the present invention performs feedback control of the appliedforce by the movable object (welding tips) driven by the servo motor,the present invention can generate the applied force, which is targeted,with good response. Furthermore, the present invention can acceleratethe cycle time of work. Moreover, the present invention can adjust theapplied force lest vibration should arise in the applied force, byadjusting the gain of the force feedback control and the gain of thespeed loop provided in the force loop. Hence, the present invention canconstantly generate the applied force, which is targeted, without thevibration arising during force application.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a force control loop, which isconstructed for a servo motor, for executing force application controlby the servo motor according to the present invention;

FIG. 2 is a flow chart showing the processing for performing the forceapplication control, shown in FIG. 1, with every position and speed loopprocessing cycle;

FIG. 3 is a block diagram showing a disturbance estimation observer usedin the force application control shown in FIG. 1; and

FIG. 4 is a block diagram showing the hardware of a control systemexecuting the force application control shown in FIG. 1.

FIG. 5 is a diagram showing the servo motor and welding tips forembodiments of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

A control method of an applied force by a movable object, whose drivingis controlled by a servo motor, according to the present invention willbe described below by exemplifying a case when the movable object iscomposed of welding tips of a welding gun for spot welding that isdriven and controlled by the servo motor.

FIG. 1 is a block diagram showing a force control loop which isconstructed for a servo motor driving the welding tips for spot welding.

An embodiment of the servo motor 14 and welding tips 16 and 17 can beseen in FIG. 5, which illustrates a spot welding gun 20.

This block diagram includes: term 1 of a transfer function of a gain Afor a force feedback control; term 2 of a transfer function of the servomotor; and term 3 of a transfer function of a speed loop gain Kv forspeed feedback. In addition, symbol Kt in the term 2 represents a torqueconstant of the servo motor driving the welding tips of the welding gun,J corresponds to inertia, and S corresponds to a Laplace operator.

The driving and control of the servo motor (2) is performed by:subtracting an applied force Td, which is estimated by an observer thatestimates disturbance applied to the servo motor, from a forceapplication command Fc that is a target value of the applied force thatthe welding tips apply to an object to be welded; multiplying thesubtracted value (Fc−Td) by the gain A; and obtaining a value(A*(Fc−Td)−v*Kv) as a torque command value Tc, by subtracting from thevalue (A*(Fc−Td)) a value (v*Kv) which is obtained by multiplying aspeed feedback value v by the speed loop gain Kv.

Let a spring constant be K and let a damping constant be D, and theapplied force Td estimated by the disturbance estimation observer can beexpressed in the next equation (1):

Td=K*θ+D*v=K*θ+D*θS  (1)

where symbol θ is a moving length after contact of the welding tips tothe object to be welded, and v is variation of the moving length withrespect to time, that is, speed.

Then, from FIG. 1, we obtain:

{A(Fc−Td)−Kv*v}(Kt/JS)=v  (1′)

In equation (1′), from equation (1) and v=θS, we obtain:

{A(Fc−(K*θ+D*θS)]−Kv*θS}(Kt/JS)=θS  (1″)

Solving equation (1″) for Fc, we obtain:

Fc=(J/(A*Kt))θS ²+[(Kv/A)+D]θS+K*θ  (2)

From equations (1) and (2), a transfer function Td/Fc from the forceapplication command Fc to the estimated applied force Td can beexpressed as follows:

Td/Fc=(k+DS)/{(J/(A*Kt))S ²+[(Kv/A)+D]S+K}  (3)

In equation (3), if S=0, that is, the speed becomes “0”, we obtain:

Td/Fc=K/K=1

Therefore, Td=Fc, and hence the target applied force can be obtained.

Then, the estimated disturbance detected by the disturbance estimationobserver, that is, the estimated applied force is graphically displayedon a display screen of a display unit such as a teaching pendant of arobot where this welding gun is mounted. Furthermore, the gain Kv of thespeed loop is adjusted so that the vibration of the estimated appliedforce may converge. Alternatively, the gain A of the force control loopis adjusted so that the vibration of the estimated applied force mayconverge.

Hardware of a control system executing the force application controlshown in FIG. 1 will be described with reference to a block diagram inFIG. 4.

The welding gun 20 also is controlled by a controller 10, such as anumerical controller controlling the robot where the welding gun 20 ismounted. FIG. 4 shows only a servo motor 14 driving the welding tips 16and 17, as illustrated in FIG. 5, of the welding gun. The servo motor 14shown in FIG. 4 is also illustrated in FIG. 5, with the same referencenumber.

Various control signals including a move command are outputted from thecontroller 10 to a digital servo circuit 12 through shared memory 11.The digital servo circuit 12 includes a processor, ROM, and RAM,digitally performs servo control of a position, speed, and the like, andfurther performs control of the force with which the welding tip pressesthe object to be welded.

On the basis of current commands for individual phases outputted fromthis digital servo circuit 12, the servo motor 14 driving the weldingtips of the welding gun and servo motors of respective axes of the robotare driven and controlled respectively through a servo amplifier 13composed of an inverter and the like. In addition, the position andspeed of the servo motor 14 are detected by a detector 15 composed of apulse coder, which is mounted on the motor shaft of the servo motor 14,and the like.

The feedback signals of the position and speed that are outputs of thisdetector 15 are fed back to the digital servo circuit 12. In addition,the servo control system itself that is shown in FIG. 4 is publiclyknown.

Next, an example of the disturbance estimation observer 6 used forestimating the force (applied force) with which the welding tips pressthe welded object will be described with reference to a block diagram inFIG. 3.

In FIG. 3, the term 2 of Kt/JS in FIG. 1 is divided into term 4 of Ktand term 5 of 1/JS.

The disturbance estimation observer 6 in this FIG. 3 estimatesdisturbance torque with the torque command Tc and speed v of the servomotor which are outputted from the speed loop and the like.

A symbol K3 in term 62 and K4 in term 63, which are included in thedisturbance estimation observer 6, are respective parameters of thedisturbance estimation observer 6. In addition, term Kt′/J′ of term 61is a value of a parameter to be multiplied by the current value Tc thatis the torque command actually outputted to the servo motor, and is avalue obtained by dividing a value Kt′ of a nominal torque constant ofthe motor by a value J′ of nominal inertia. Term 64 is an integral termand is a term for obtaining the estimated speed va of the motor byintegrating a value obtained by totaling outputs of terms 61, 62, and63.

Assuming Kt′/J′ in the block diagram of FIG. 3 equals to Kt/J, weobtain:

(Tc*Kt+Tdis)(1/JS)=v  (4)

{Tc*(Kt/J)+(v−va)K 3+(v−va)(K 4/S)}/(1/S)=va  (5)

From equation (4), we obtain:

 Tc=(v*JS−Tdis)/Kt  (6)

Substituting equation (6) into equation (5) and arranging the newequation (5), we obtain:

vS−(Tdis/J)+(v−va)*K 3+(v−va)*K 4/S=vaS  (7)

Therefore, term Tdis/J can be expressed as follows:

Tdis/J=S(v−va)+(v−va)*K 3+(v−va)*(K 4/S)  (8)

From equation (8), we obtain:

v−va=Verr=(Tdis/J){1/[S+K 3+(K 4/S)]}  (9)

From equation (9), the integral value X that is an output of term 63 isexpressed as follows:

X=Verr*(K 4/S)=(Tdis/J){K 4/[S ² +K 3 S+K 4]}  (10)

Then, in equation (10), if the parameters K3 and K4 are selected so thatpoles of the equation may become stable, it becomes possible to makeapproximation of X=Tdis/J. Therefore, by multiplying this integral valueX (=Tdis/J) by the parameter J′/Kt′ of term 65, the estimateddisturbance torque Td (the estimated disturbance torque whose dimensionsare met with those of the torque command Tc) is obtained.

In the state of the welding tips of the welding gun pressing the weldedobject, it is possible to assume that the applied force is equal to theestimated disturbance torque Td obtained from the disturbance estimationobserver. In addition, the disturbance estimation observer shown in FIG.3 is publicly known (for example, refer to Japanese Patent ApplicationLaid-Open No. 7-110717), the applied force can be estimated with anotherform of disturbance estimation observer instead of this disturbanceestimation observer.

Next, the processing that the processor of the digital servo circuit 12performs with every position and speed loop processing cycle will bedescribed with reference to the flow chart in FIG. 1.

The controller 10, according to a teaching program, outputs a movecommand with every distribution cycle to each axis of the robot, furtheroutputs a move command for moving the welding gun mounted on a wrist ofthe robot to a weld position. Furthermore, the controller 10 outputs amove command for moving the welding tips move to the position where thewelding tips press the welded object, thereafter, outputs a command forswitching a control mode to force application control, and sets a flag Fof the shared memory 11 to “1”.

Then, the controller 10 that received a signal of weld completion fromthe welding gun outputs a command for switching a control mode from theforce application control to normal position and speed control.Furthermore, the controller 10 sets the flag F to “0”, and outputs thenext move command. The controller 10 executes the above operation on thebasis of the teaching program.

On the other hand, the processor of the digital servo circuit 12 readsvarious commands, including the move command, from the shared memory 11,and executes the processing, shown in FIG. 2, with every position andspeed loop processing cycle.

The processor of the digital servo circuit 12 judges whether the flag Fof the shared memory 11 that commands the force application control isset to “1” (step S1). If the flag F is not set to “1”, the processor,similarly to the conventional one, executes the position loop processingand speed loop processing on the basis of the move command valuecommanded and feedback values of the position and speed that are fedback from the position and speed detector 15,and obtains the torquecommand Tc (step S2).

In addition, the processor delivers the torque command Tc, which isobtained hereinabove, to current loop (step S3). In the current loopprocessing, the processor performs processing on the basis of thistorque command Tc to obtain current commands for respective phases ofthe servo motor, and drives and controls the servo motors of respectiveaxes through servo amplifiers such as inverters.

In addition, for at least the servo motors 14 driving the welding tipsof the welding gun, the processor executes the processing by theobserver that is shown in FIG. 3 (since this processing by the observeris publicly known, a flow chart of this processing is omitted), on thebasis of the torque command Tc, which is obtained at step S2, and thespeed feedback value. The processor then obtains the disturbanceestimation torque Td and stores the torque in a register (step S4), andterminates the processing in the position and speed loop processingcycle. Hereinafter, until the flag F is set to “1” one by the controller10 outputting the force application control command, the aboveprocessing is repeatedly executed.

On the other hand, if the flag F is set to “1” by the controller 10outputting force application control command, the processor of thedigital servo circuit 12 detects the fact that the flag F is set to “1”(step S1). Consequently, the processor reads force application commandFc, disturbance estimation torque Td of the servo motor 14 driving thewelding tips, which is stored in the register, that is, the appliedforce estimated, and also reads speed feedback value v that is fed backfrom the position and speed detector 15 (step S5). Then, the processorobtains torque command Tc by executing the force control loop processingshown in FIG. 1 and the speed loop processing in the force control loop.Thus, the torque command value Tc is obtained with performing thefollowing calculation (step S6):

Tc=A*(Fc−Td)−Kv*v  (11)

The processor delivers the torque command value Tc, which is obtained inthis manner, to the current loop (step S7), and drives and controls theservo motor 14 for driving the welding tip through the servo amplifier13. Then, the process goes to the step S4, where the processor obtainsand stores the disturbance estimation torque (the estimated appliedforce) Td by executing the observer processing. Hereinafter, so long asthe flag F is set to “1”, the processor performs feedback control of theapplied force by executing the processing at steps S1, S5-S7, and S4with every position and speed loop processing cycle.

When the spot welding is completed and the weld completion signal isinputted from the welding gun to the controller 10, the controller 10outputs the signal for switching a control mode from force applicationcontrol to normal position and speed loop control.

And the controller 10 sets the flag F at “0”, and hereafter, distributesthe above-described move commands in a manner similar to theconventional one. The processor of the digital servo circuit 12repeatedly executes the processing at the steps S1 through S4 with everyposition and speed loop processing cycle.

In addition, in the force control loop, in a steady state, the speedfeedback value v becomes “0”. In a state where there is a smalldeviation (steady-state deviation) between the force application commandFc and the estimated applied force Td, the value obtained by multiplyinga steady-state deviation by the gain A becomes the torque command valueTc, and hence, the state becomes steady. In order to eliminate thissteady-state deviation, it may be also performed to add the estimatedapplied force Td, estimated by the disturbance estimation observer 6, tothe torque command Tc and make the added torque command a command to theservo motor. Thus, in FIG. 1, it may be performed to subtract the outputof term 3 (the product of the speed feedback value and gain Kv) from theoutput of term 1 (the product of the deviation between forces and thegain A), add the estimated applied force Td to the remainder, and makethe sum the torque command to the servo motor (2). In this case, even ifthe deviation between forces becomes “0” since Fc=Td, the estimatedapplied force Td is given as the torque command. Therefore, theestimated applied force Td is controlled to coincide with the forceapplication command Fc.

In addition, processing in this case can be performed by adding theestimated applied force Td to equation (11) for obtaining the torquecommand Tc at step S6 in FIG. 2, as follows:

Tc=A*(Fc−Td)−Kv*v+Td

What is claimed is:
 1. A method for controlling force application with aservo motor, by controlling an applied force of welding tips of awelding gun, driven by the servo motor, to an object to be welded,comprising: forming a force control loop with an applied force commandedto the servo motor, a torque command outputted to the servo motor, andan applied force estimated by an observer unit; performing feedbackcontrol of the applied force; and controlling vibration of the weldingtips by adjusting a gain of the feedback control.
 2. A method forcontrolling force application with a servo motor according to claim 1,further comprising: displaying the estimated applied-force.
 3. Anapparatus for controlling force application with a servo motor, thatcontrols an applied force of welding tips of a welding gun, driven bythe servo motor, to an object to be welded, comprising: an observer unitestimating the applied force; and a force control loop processingexecution means for performing force feedback control with an appliedforce commanded to the servo motor, a torque command outputted to theservo motor, and the applied force estimated by the observer unit, andfor adjusting a gain of the force feedback control to control vibrationof the welding tips.
 4. An apparatus for controlling force applicationwith a servo motor according to claim 3, further comprising: a speeddetection means for detecting the speed of the welding tips.
 5. Anapparatus for controlling force application with a servo motor,comprising: a controller outputting a force control command of anapplied force of welding tips of a welding gun, driven by a servo motor,to an object to be welded; applied-force estimation means for estimatingan applied force produced when a movable object is driven by the servomotor and pressed to another object in accordance with a forceapplication control command from the controller; speed detection meansfor detecting an actual speed of the servo motor; and torque commandmeans for calculating a torque command Tc outputted to the servo motorwith using the following equation: Tc=A*(Fc−Td)−Kv*v and outputting thetorque command to the servo motor, where A and Kv are coefficients, Fcis the force application control command outputted from the controller,Td is the applied force estimated in the applied-force estimation means,and v is the speed of the servo motor detected by the speed detectionmeans.
 6. An apparatus for controlling force application with a servomotor according to claim 5, wherein the torque command means calculatesthe torque command Tc outputted to the servo motor by using thefollowing equation, instead of using the equation of Tc in claim 5:Tc=A*(Fc−Td)−Kv*v+Td and outputs the torque command Tc to the servomotor.
 7. An apparatus for controlling force application with a servomotor according to claim 5, wherein a value of an applied force Td thatthe torque command means uses for calculation of the torque command Tcis a value that the applied force estimation means calculates from atorque command Tc, which was outputted in the preceding cycle, and speedv, which the speed detection means outputted at the time of the torquecommand being outputted.
 8. An apparatus to control force applicationwith a servo motor according to claim 6, wherein a value of an appliedforce Td that the torque command means uses for calculation of thetorque command Tc is a value that the applied force estimation meanscalculates from a torque command Tc, which was outputted in thepreceding cycle, and speed v, which the speed detection means outputtedat the time of the torque command being outputted.
 9. A method forcontrolling force application with a servo motor, by controlling anapplied force of welding tips of a welding gun, driven by the servomotor, to an object to be welded, comprising: forming a force controlloop with an applied force commanded to the servo motor, a torquecommand outputted to the servo motor, and an applied force estimated byan observer unit; performing feedback control of the applied force; andadjusting a gain of amplification of a deviation between a forceapplication command in the force control loop and the estimatedapplied-force to control vibration of the welding tips.
 10. A method forcontrolling force application with a servo motor according to claim 9,further comprising: displaying the estimated applied-force.
 11. Anapparatus to control an applied force of welding tips of a welding gun,driven by a servo motor, to an object to be welded, comprising: anobserver unit to estimate the applied force; a force feedback controlloop based on an applied force commanded to a servo motor, a torquecommand outputted to the servo motor, and the applied force estimated bythe observer unit; and a speed feedback control loop based on adifference between a speed of a movable object and a difference betweenthe applied force commanded and the applied force estimated, wherein again of the speed feedback control is adjusted to control vibration ofthe welding tips.
 12. An apparatus for controlling force applicationwith a servo motor, that controls an applied force of welding tips of awelding gun, driven by the servo motor, to an object to be welded,comprising: an observer unit estimating the applied force; and a forcecontrol loop processing execution means for performing force feedbackcontrol with an applied force commanded to the servo motor, a torquecommand outputted to the servo motor, and the applied force estimated bythe observer unit, and for adjusting a gain of amplification of adeviation between a force application command in the force control loopand the estimated applied-force to control vibration of the weldingtips.
 13. An apparatus for controlling force application with a servomotor according to claim 12, further comprising: a speed detection meansfor detecting the speed of the welding tips.
 14. An apparatus to controlan applied force of welding tips of a welding gun, driven by a servomotor, to an object to be welded, comprising: an observer unit toestimate the applied force; a force feedback control loop based on anapplied force commanded to a servo motor, a torque command outputted tothe servo motor, and the applied force estimated by the observer unit;and a speed feedback control loop based on a difference between a speedof a movable object and a difference between the applied force commandedand the applied force estimated, wherein a gain of amplification of adeviation between a force application command in the force feedbackcontrol loop and the estimated applied-force is adjusted to controlvibration of the welding tips.